#region Using directives
using System;
using System.Drawing;
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;
#endregion

namespace SharpWind.Graphics.Geometry
{
	public class ColoredVertex
	{
		#region Fields

		private Vector3 position = Vector3.Empty;

		private Color color = Color.White;

		private float tu = 0;

		private float tv = 0;

		#endregion

		#region Constructors

		public ColoredVertex()
		{
			this.position	= new Vector3();
			this.color		= Color.White;
			this.tu			= 0f;
			this.tv			= 0f;
		}

		public ColoredVertex( Vector3 position, Color color, float tu, float tv )
		{
			this.position	= position;
			this.color		= color;
			this.tu			= tu;
			this.tv			= tv;
		}

		#endregion

		#region Properties

		public static VertexFormats Format
		{
			get
			{
				return VertexFormats.Position | VertexFormats.Diffuse | VertexFormats.Texture1;
			}
		}

		public Vector3 Position
		{
			get
			{
				return this.position;
			}
			set
			{
				this.position = value;
			}
		}

		public Color Color
		{
			get
			{
				return this.color;
			}
			set
			{
				this.color = value;
			}
		}

		public float Tu 
		{
			get
			{
				return this.tu;
			}
			set
			{
				this.tu = value;
			}
		}

		public float Tv
		{
			get
			{
				return this.tv;
			}
			set
			{
				this.tv = value;
			}
		}

		#endregion
	}
}